package com.ruoyi.assets.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.assets.domain.StateCollection;

import java.util.List;

/**
 * 收藏服务接口
 * 
 * @author ruoyi
 */
public interface IStateCollectionService extends IService<StateCollection> {
    
    /**
     * 查询收藏列表
     * 
     * @param stateCollection 查询条件
     * @return 收藏列表
     */
    List<StateCollection> selectStateCollectionList(StateCollection stateCollection);
    
    /**
     * 通过用户ID查询收藏列表
     * 
     * @param userId 用户ID
     * @return 收藏列表
     */
    List<StateCollection> selectCollectionsByUserId(Long userId);

    /**
     * 添加收藏
     * 
     * @param userId 用户ID
     * @param assetId 资产ID
     * @return 结果
     */
    boolean addCollection(Long userId, Long assetId);
    
    /**
     * 取消收藏
     * 
     * @param userId 用户ID
     * @param assetId 资产ID
     * @return 结果
     */
    boolean cancelCollection(Long userId, Long assetId);
    
    /**
     * 检查是否已收藏
     * 
     * @param userId 用户ID
     * @param assetId 资产ID
     * @return 是否已收藏
     */
    boolean isCollected(Long userId, Long assetId);
} 